/**
 * Created by guest on 30.01.15.
 */
"use strict";

(function ($) {
    //Расширение на jQuery для работы с get-параметрами
    $.extend({
        getUrlVars: function () {
            var vars = [], hash;
            var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
            for (var i = 0; i < hashes.length; i++) {
                hash = hashes[i].split('=');
                vars.push(hash[0]);
                vars[hash[0]] = hash[1];
            }
            return vars;
        },
        getUrlVar: function (name) {
            return $.getUrlVars()[name];
        }
    });

    $.extend({
        langLabelTranslate: function (label, defaultValue) {

            var li = $('#jsLabelTranslateDict li[data-label="'+label+'"]');

            if(!li.length){
                return defaultValue;
            }else{
                return li.html();
            }
        }
    });

    $(function () {

        //Шторка загрузки
        window.loadingLayer = {
            show: function () {
                $('#loading-layer').show();
            },
            hide: function () {
                $('#loading-layer').hide();
            },
            setShow: function (isShow) {
                if (!!isShow) {
                    this.show();
                } else {
                    this.hide();
                }
            },
            inverse: function () {
                if ($('#loading-layer').is(':visible')) {
                    this.hide();
                } else {
                    this.show();
                }
            }
        };

        //прокидываем utm резек куку
        var patt = new RegExp("utm_source");
        if( patt.test(window.location.search) ) {
            var copy_from = window.location.search.indexOf('?',0);
            var get = window.location.search.slice(copy_from+1, window.location.search.length);
            var utm = get.split('&').filter(function(e){
                return (e.indexOf('utm_')>-1);
            });

            $.cookie('utm', utm.join('&'), {
                path: '/',
                expires: 365
            });

            var referrer = document.referrer;
            if(referrer){
                $.cookie('referrer', referrer, {
                    path: '/',
                    expires: 365
                });
            }
        }
        if ($.cookie('referrer') == undefined && document.referrer) {
            $.cookie('referrer', document.referrer, {
                path: '/',
                expires: 365
            });
        }


        //Обновление капчи на странице
        window.captchaManage = {
            refresh: function () {
                var captchaUrl = "/ajax/?controller=capcha&v=" + Math.random();
                $('[data-captcha-image]').attr('src', captchaUrl);
                if('grecaptcha' in window){
                    grecaptcha.reset();
                }
            }
        };

        $.extend({
            loadingLayer: window.loadingLayer,
            captchaManage: window.captchaManage
        });

        $('[data-captcha-refresh]').click(function () {
            window.captchaManage.refresh();
            return false;
        });

        if ($('[data-captcha-image]').length) {
            window.captchaManage.refresh();
        }

        //Конфигурация $.ajax

        $.ajaxSetup({
            dataType: 'json',
            type: 'POST',
            url: '/ajax/'
        });

        //Работаем с инвайтами
        window.INVITE_CODE = $.getUrlVar('i') || $.cookie('i') || false;

        if (window.INVITE_CODE) {
            $.cookie('i', window.INVITE_CODE, {
                path: '/',
                expires: 365
            });
        }

        //Работа с рекламой

        if ($.getUrlVar('a')) {
            var currentUrl = window.location.href;
            var userReferrer = document.referrer;
            var refLink = currentUrl + '|||' + userReferrer;
            $.cookie('refLink', refLink, {path: '/', expires: 360});
        }

        //Переключение из мобильной версии в основную
        $('#normav-version-site').click(function () {
            var domain = '.' + $('#normav-version-site').attr('href').replace(/^.+:\/\/([^\/]+).+/, '$1');
            $.cookie('__cf_mob_redir', 0, {path: '/', domain: domain, expires: 360});
            window.location.href = $('#normav-version-site').attr('href');
            return false;
        });

        //Переход в мобильную версию
        $('a[data-to-mobile]').each(function () {
            var mobUrl = window.location.href.replace(/(.+:\/\/)(www\.)?([^\/]+)(.+)/, '$1m.$3$4');
            $(this).attr('href', mobUrl);
            $(this).on('click', function(){
                var domain = '.' + window.location.href.replace(/^.+:\/\/([^\/]+).+/, '$1');
                $.removeCookie('__cf_mob_redir', {path: '/', domain: domain, expires: 360});
                window.location.href = mobUrl;
                return false;
            });
        });

        if (window.videoUrl) {
            var videoBlock = $('.started_video');
            //  set in templates/main/blocks/started_video.tpl:10
            var videoIframeHtml = '<iframe width="853" height="480" src="' + videoUrl + '" frameborder="0" allowfullscreen></iframe>';

            if (videoBlock.length && videoUrl) {

                if (!$.cookie('isNoShowStartVideoIndia')) {
                    videoBlock.fadeIn(1000);
                    videoBlock.find('.sv_video').append(videoIframeHtml);
                }

                videoBlock.find('.close').click(function () {
                    videoBlock.fadeOut(1000, function () {
                        videoBlock.remove();
                    });
                });

                videoBlock.find('.no_show').click(function () {
                    videoBlock.find('.close').click();
                    $.cookie('isNoShowStartVideoIndia', 1, {path: '/', expires: 36000});
                });

            }
        }

        $('a img.prettyPhoto').each(function () {
            $(this).removeClass('prettyPhoto');
            $(this).parent().attr('target', '_blank');
            $(this).parent().attr('rel', 'prettyPhoto')
        });
        $("a[rel^='prettyPhoto']").prettyPhoto({
            social_tools: false
        });

    });

})(jQuery);